iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0

接續D14的文章,我們需要先把Monster的血條做出來,然後再參考D16的技能設計把技能時做出來。

先把Monster的血條做出來
https://ithelp.ithome.com.tw/upload/images/20241003/20169512euEU4XtKwG.png

然後讓ChatGPT幫我寫技能的模板,我這裡想用interface寫

ISkill Interface

幫我用interface寫一個技能的模板,參考先前法想的四個範例寫出code

我們可以新增一個Skill.cs的script把下面的code複製進去。

public interface ISkill
{
    string SkillName { get; }
    int ManaCost { get; }
    int Cooldown { get; }
    int CurrentCooldown { get; set; }

    void UseSkill(Character target);
    bool CanUseSkill(int currentMana);
}

在技能的Interface寫好後,我們再接續照著前幾天的文章寫完技能。

public class Character
{
    public string Name { get; set; }
    public int Health { get; set; }
    public int Mana { get; set; }

    public Character(string name, int health, int mana)
    {
        Name = name;
        Health = health;
        Mana = mana;
    }

    public void TakeDamage(int damage)
    {
        Health -= damage;
        if (Health < 0) Health = 0;
        Debug.Log($"{Name} takes {damage} damage. Health is now {Health}.");
    }

    public void Heal(int amount)
    {
        Health += amount;
        if (Health > 100) Health = 100;  // 假設最大血量為 100
        Debug.Log($"{Name} heals {amount}. Health is now {Health}.");
    }

    public void UseMana(int amount)
    {
        Mana -= amount;
        if (Mana < 0) Mana = 0;
        Debug.Log($"{Name} uses {amount} mana. Mana is now {Mana}.");
    }
}

上一篇
D18 /敵方AI技能使用策略
下一篇
D20/ AI輔助遊戲開發的案列研究
系列文
生成式AI輔助電子遊戲製作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言